Techniques to improve the performance of a fixed, timing-based radio positioning network using external assistance information

ABSTRACT

Described are systems and methods for correcting range bias based on geometric system properties, and for correcting bias by using velocity estimates.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119(e) to co-pending U.S. Provisional Patent Application Ser. No. 61/789,951, filed Mar. 16, 2013, entitled TECHNIQUES TO IMPROVE THE PERFORMANCE OF A FIXED, TIMING-BASED RADIO POSITIONING NETWORK USING EXTERNAL ASSISTANCE INFORMATION, the content of which is hereby incorporated by reference herein in its entirety for all purposes.

FIELD

Various embodiments relate to estimating range error.

BACKGROUND

A fixed, timing-based radio positioning network may consist of a set of ranging transmitters (e.g., Tx₁ to Tx_(N)) such that a receiver capable of receiving such transmissions can estimate its position. The accuracy of a receiver's position estimate is negatively affected by multiple factors, including: resolution of the transmission signal; synchronization of the transmitters; presence of reflected signals, resulting in the over-estimation of a range from one or more transmitters; uncertainty about the estimated velocity and range of the receiver from any given transmitter due to noise, insufficient signal strength or other radio properties; and poor geometry among the transmitters, increasing any uncertainty about the range from a given transmitter set with poor angular separation among them. These characteristics result in a combination of fixed range error biases and fixed range uncertainty functions at any given estimated point within the real plane. That is, a building causing a reflection creates a fixed reflection. An error in synchronization between two transmitters is a fixed error between those two transmitters, within the stability of the synchronization system. Poor geometry will result in range uncertainty with a fixed histogram based on the geometric properties of the network.

Accordingly, if fixing biases can be detected, and the uncertainty of a given range can be reduced, then the quality of position can be improved. With exact knowledge of the transmitter locations, the physical and geometric properties of the network could enable considerable improvements compared to techniques applied to networks where there is less information about the network.

SUMMARY

Certain embodiments of this disclosure relate generally to correcting range bias based on geometric system properties, or to correcting bias by using velocity estimates.

DRAWINGS

FIG. 1 pictorially illustrates a positioning track.

DESCRIPTION

Various aspects of the invention are described below. It should be apparent that the teachings herein may be embodied in a wide variety of forms and that any specific structure, function, or both, being disclosed herein is merely representative. Based on the teachings herein one skilled in the art should appreciate that any aspect disclosed may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, a system may be implemented or a method may be practiced using any number of the aspects set forth herein.

As used herein, the term “exemplary” means serving as an example, instance or illustration. Any aspect and/or embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects and/or embodiments.

In the following description, numerous specific details are introduced to provide a thorough understanding of, and enabling description for, the systems and methods described. One skilled in the relevant art, however, will recognize that these embodiments can be practiced without one or more of the specific details, or with other components, systems, and the like. In other instances, well-known structures or operations are not shown, or are not described in detail, to avoid obscuring aspects of the disclosed embodiments.

OVERVIEW

Various aspects, features, and functions are described below in conjunction with the appended Drawings. While the details of the embodiments of the invention may vary and still be within the scope of the claimed invention, one of skill in the art will appreciate that the Drawings described herein are not intended to suggest any limitation as to the scope of use or functionality of the inventive aspects. Neither should the Drawings and their description be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in those Drawings.

Certain aspects relate to techniques for improving performance of a fixed, timing-based radio positioning network using external assistance information.

Actual Position

Consider a given physical area with N ranging transmitters (e.g., Tx₁ to Tx_(N)). A receiver located in that physical area has a position, P₁, and actual ranges from those transmitters such that the range from Tx₁ to P₁ is r_(1,1), the range from Tx₂ to P₁ is r_(1,2) and so forth to Tx_(N) where the range is r_(1,N). This can also be written:

${P_{1} = {f\begin{pmatrix} {r\; 11} & {T \times 1} \\ {r\; 12} & {T \times 2} \\ {r\; 13} & {T \times 3} \\ \ldots & \ldots \\ {r\; 1\; N} & {T \times N} \end{pmatrix}}},$

where T_(N) identifies the Nth transmitters absolute position.

It should be observed that for any small displacement from P₁, dP, the ranges from the various transmitters become r₁+dr₁, r₂+dr₂ and so forth, and that the translation from P₁ to P₁+dP is a smooth and continuous translation.

Measured Position

A fixed, timing-based radio positioning network allows an appropriately-equipped receiver to receive signals from multiple transmitters, and by computing the ranges to the various transmitters, estimate its position using the family of mathematical techniques collectively referred to as trilateration. As described previously, these range estimates, particularly in cluttered urban and indoor environments, can be subject to uncertainty and biases. Thus the estimated position P′ differs from the actual position P, where:

$P^{\prime} = {{f\begin{pmatrix} {r^{\prime}1} & {T \times 1} \\ {r^{\prime}2} & {T \times 2} \\ {r^{\prime}3} & {T \times 3} \\ \ldots & \ldots \\ {r^{\prime}N} & {T \times N} \end{pmatrix}}.}$

Correcting Fixed Range Bias Based on Geometric System Properties

Because the sources of range bias are generally fixed, for example buildings, and the position of the transmitters is fixed, the mapping from P′ to P can be characterized as a fixed term, B_(n) at any position P_(n). If for every position estimate P′_(n) the bias term B_(n) was known, the actual position P_(n) could be determined. That is, P=f(r′−B), and each individual range r1=r′ 1−b1.

$P = {{f\begin{pmatrix} {r\; 1} & {T \times 1} \\ {r\; 2} & {T \times 2} \\ {r\; 3} & {T \times 3} \\ \ldots & \ldots \\ {r\; N} & {T \times N} \end{pmatrix}} = {f\left\lbrack {\begin{pmatrix} {r^{\prime}1} & {T \times 1} \\ {r^{\prime}2} & {T \times 2} \\ {r^{\prime}3} & {T \times 3} \\ \ldots & \ldots \\ {r^{\prime}N} & {T \times N} \end{pmatrix} - \begin{pmatrix} {b\; 1} \\ {b\; 2} \\ {b\; 3} \\ \ldots \\ {b\; N} \end{pmatrix}} \right\rbrack}}$

Note that B has several useful properties, among them: each element of B, b1 to any bN, must be greater than or equal to zero in a well-calibrated system for every position P; B is generally fixed over long time horizons; translation from B₁ to any B_(n) is neither smooth nor continuous—each element of B can differ by great amounts between any two points in the service area, even if they are close together; and components of B, unlike the components of P, are independent of one another. It is noted that B could be less than zero (“early arrival”) in a system with timing challenges or if there is uncertainty about the arrival of the signal, which may require database tuning.

While physically possible, it is often impractical to precisely measure B for every position P in the service area and thus a method to estimate B would be advantageous. It is, however, practical to precisely measure B at some number of locations within a given service area. Thus a receiver at surveyed location P, with estimated position P′ now has a known bias B=r′−r. B could be stored at some remote server, along with the reported P′, or at the receiver. In the future, r′ could then be reported by the receiver to the server and by subtracting B from r′, the trilateration computation could be re-run and P could thus be accurately computed. More explicitly, given P′ and the associated measured ranges, r′1, r′2 . . . r′N, the actual ranges r′1−b1=r1, r′2−b2=r2 . . . r′N−bN=rN could be computed, providing a basis to compute the actual position.

Now suppose there is a truth position and estimate, P₁ and P′₁, with the known bias term B₁ and a second position estimate, P′₂< >P′₁ is reported to the server. Upon inspection, suppose that the individual range components of P′₂ are “close” (within some predefined margin) to the range components of P′₁. That is, r′_(1,1) is close to r′_(2,1), and r′_(1,2) is close to r′_(2,2) and so forth. Or, when inspected as a vector r₁′ is close to r₂′ in some sense (for example, in the norm-2 sense or in norm-1 sense). It is thus likely that B₂ is close to B₁ and B′₂ can be set to B₁ as a first estimate.

Alternatively consider a 3^(rd) and 4^(th) position estimate, P′₃ and P′₄ with the following ranges, compared to P′₁ (note the Tx terms are dropped for readability):

$P_{3}^{\prime} = {{{f\begin{pmatrix} {r^{\prime}{\left. 31 \right.\sim r^{\prime}}11} \\ {{r^{\prime}32}{r^{\prime}12}} \\ {r^{\prime}{\left. 33 \right.\sim r^{\prime}}13} \\ \ldots \\ {r^{\prime}3\; {\left. N \right.\sim r^{\prime}}1\; N} \end{pmatrix}}\mspace{14mu} {and}\mspace{14mu} P_{4}^{\prime}} = {f\begin{pmatrix} {r^{\prime}{\left. 41 \right.\sim r^{\prime}}11} \\ {{r^{\prime}42}{r^{\prime}12}} \\ {r^{\prime}{\left. 43 \right.\sim r^{\prime}}13} \\ \ldots \\ {r^{\prime}4\; {\left. N \right.\sim r^{\prime}}1\; N} \end{pmatrix}}}$

Note that when comparing measured ranges or pseudoranges or TOAs, it is assumed that the time bias nuisance parameter has been eliminated. For example, a maximum likelihood estimate of the time bias may be computed based on the transmission times of the transmitters, the TOA measurements at the receiver and the timing data associated with a hypothesized reference location. The measured TOA's are then modified with this estimated bias, effectively changing them from estimated pseudoranges to estimated true ranges. True range estimate vectors can then be compared in a L1 or L2 sense or on an individual element basis. Alternatively, time differencing can be used relative to a reference beacon before the comparison is done.

In the case of P′₃, the range r′_(3,2) is much longer than the range r′_(1,2), but all of the other ranges are similar. The geometry of the network is such that this is not possible. We can then estimate b′_(3,1), b′_(3,2) . . . d′_(3,N) directly as we did for B′₂—but for b′_(3,2) this won't work because r′_(3,2) obviously has a much greater reflection profile compared to r′_(1,2). One method to estimate b′₃₂ would be to set b′₃₂=b′_(1,2)+(r′_(3,2−)r′_(1,2))−mean(r′_(3,n)−r′_(1,n) (for n≠2)). Another method would be to drop r′_(3,2) from the computation of the position altogether and estimate its bias after performing the trilateration calculation using B₁ as the estimated bias for all of the other ranges.

${Thus},{B_{3}^{\prime} = {\begin{pmatrix} b_{1,1} \\ {b_{1,2} + C} \\ b_{1,3} \\ \ldots \\ b_{1,N} \end{pmatrix}.}}$

In the case of P′₄, the case is reversed. In this scenario, we can again use B′₁ as the initial bias estimate for B′₄ for every term except r′_(4,2). In that case, based on the magnitude of the difference between the expected r′_(4,2), we should either set b′_(4,2) to zero or some other sensible value that is lower than the other biases. The reason is that shorter ranges from otherwise apparently adjacent position estimates are always more accurate—an unexpectedly short range implies the elimination of a reflection, and a path more closely related to the direct path from the transmitter to the receiver.

${Thus},{B_{4}^{\prime} = {\begin{pmatrix} {b\; 11} \\ {0\mspace{14mu} \left( {{{or}\mspace{14mu} b\; 12} - C} \right)} \\ {b\; 13} \\ \ldots \\ {b\; 1\; N} \end{pmatrix}.}}$

By applying this logic to estimated positions P′_(n) that are close to the “seed position” P′₁, the fixed bias estimates can be “pushed” through the correction server, with improving estimates of bias through the collection of greater numbers of position estimates by receivers seeking to improve their position. Over time, additional seed positions can be added to the database, improving the ability of the system to propagate “good” bias estimates over the service area.

Note that the logic flow described above can be extended even to scenarios where an initial seed position is not known. Suppose that the bias for P′₁ above is not known, but that P′₁ and P′₃ have the same relationship, described by:

${P_{3}^{\prime} = {f\begin{pmatrix} {r^{\prime}{\left. 31 \right.\sim r^{\prime}}11} \\ {{r^{\prime}32}{r^{\prime}12}} \\ {r^{\prime}{\left. 33 \right.\sim r^{\prime}}13} \\ \ldots \\ {r^{\prime}3\; {\left. N \right.\sim r^{\prime}}1\; N} \end{pmatrix}}}\mspace{14mu}$

In this case, by comparing r′₁ and r′₃, we can create an initial bias estimate for P′3 by applying the fact that range biases are always “long”. In this case, our initial estimate for the range bias B′3 could be estimated as:

$B_{3}^{\prime} = {\begin{pmatrix} 0 \\ {{r^{\prime}32} - {r^{\prime}12} + \left( {{average}\left( {{{r^{\prime}3n} - {r^{\prime}1n}},{\forall{n \neq 2}}} \right)} \right.} \\ 0 \\ \ldots \\ 0 \end{pmatrix}.}$

Alternatively, we could re-compute P′₃ by ignoring r′_(3,2) (based on the inspection of P′₁) and then inferring r″_(3,2) from the geometry of the system and from there b′_(3,2). Thus, with no external measured biases, a set of bias estimates can be created based on the geometric properties of the network. This latter observation in particular is applicable in transitions from zones where the fixed bias errors are low to directly adjacent zones where the fixed bias errors are high from certain directions, and not from others. For example, if one is shielded from one transmitter only the ranges from that transmitter will show abnormally large ranges compared to “clean” measurements from short actual distances away, observable based on the otherwise similar range estimates.

In a real system, the actual position estimates for a large number of cases are likely to be over-specified, which should permit further exploitation of the principles described.

Correcting Fixed Bias by Using Velocity Estimates

In addition to comparing static position estimates across devices, by incorporating velocity observations, significant bias estimates can also be made. Velocity can be observed from a number of sources including Doppler shift and inertial sensors placed on a receiver. Suppose there are two position estimates, P′₁ and P′₂, from the same receiver for which the velocity between the two estimates is observed (e.g., via Doppler or sensors).

The difference between any two range estimates, r_(1,n) and r_(2,n), has been observed. Further, fixed biases result in range estimates that are too long. The system can then compare each r_(1,n) and r_(2,n), with the following logic: If r_(1,n)+v_(n)=r_(2,n), the bias at the two positions from Tx_(N) is the same; If r_(1,n)+v_(n)>r_(2,n), then replace r_(1,n) with r_(2,n)−v_(n) because the bias at r_(1,n) was observed to be greater than the bias at r_(2,n); and If r_(1,n)=v_(n)<r_(2,n), then replace r_(2,n) with r_(1,n)+v_(n) because the bias at r_(2,n) was observed to be greater than the bias at r_(2,n).

Thus the velocity estimate can help create a bias estimate that is as good as the best range recorded at each of points 1 and 2. Over a longer track and over a larger number of points, these estimates can be propagated through the system in a meaningful way. Consider a positioning track, for example illustrated in FIG. 1, which has consistent bias estimates for some number of position estimates n. At position n+1, one of the ranges is revealed to be too long (e.g., emerging from a building shadowing some number of transmitters). The now good range estimate combined with the preceding velocity and range estimates can now provide a better bias estimate for every point along that positioning track. Further, by recording the tracks, any future intersection with a given track's estimated biases will benefit from the earlier track's information. Suppose sample n+1 is not observed by the first receiver. Later, a receiver with the same set of ranging data intersects that track and does observe sample n+1. This would permit position correction to be propagated both for the new set of range samples and the prior, recorded set.

The critical features of the system are that the transmitters are at fixed locations, and the environment is fixed over the measurement horizon used to create bias estimates. Stale bias estimates are more likely to be affected by environmental perturbations (e.g., building demolition, elevated roadway construction), although in a well-utilized system these estimates should not become generally stale.

This information can be combined with the position comparison techniques described above to create a better bias estimate for each position estimate reported to the system.

Use of Inertial Sensors

Inertial measurement systems suffer from drift if not occasionally corrected, however over short time durations they tend to yield accurate results. Particularly in the case where the radio reference system is fixed, using an inertial solution to measure instantaneous velocity and comparing that with the observed velocity derived from the static position estimates and time, and Doppler estimates, could meaningfully improve the overall velocity estimate. Further, by using the inertial system only for transient measurements rather than tracking, which is referenced back to the fixed radio network, observed drift issues can be mitigated or eliminated.

The key concept is only using the inertial sensors—integrated velocity over a short time horizon using the magnetometers, accelerometers and gyros—for a short duration, and then “setting” the offset in the system and holding it static through reference to the fixed radio reference system. Thus, the inertial solution is of very short duration, constantly referenced against a fixed radio environment, and is used in a feedback loop with the radio positioning and velocity estimates.

Measurement Uncertainty

In addition to fixed range biases, the reported ranges, r, for a given position are “noisy” and could be better characterized as a histogram. These histograms will be “shifted” by the fixed range bias imparted by the environment in which the measurement is taken, and their dispersion can be attributed to both RF noise and the geometry of the system, among other properties. It is probable that these well-understood characteristics can also be exploited to improve the quality of positioning in the system.

The net effect on the preceding concepts would be to characterize any range as a distribution instead of a number, and use the database and server to compare range distributions instead of fixed ranges. The general concepts are unaffected. One implementation contemplates that measurements showing a large degree of variability can be discounted in the positioning calculation.

Supporting Aspects

Various aspects relate to disclosures of other patent applications, patent publications, or issued patents. For example, each of the following applications, publications, and patents are incorporated by reference in their entirety for any and all purposes: United States Utility patent application Ser. No. 13/412,487, entitled WIDE AREA POSITIONING SYSTEMS, filed on Mar. 5, 2012; U.S. Utility patent Ser. No. 12/557,479 (now U.S. Pat. No. 8,130,141), entitled WIDE AREA POSITIONING SYSTEM, filed Sep. 10, 2009; United States Utility patent application Ser. No. 13/412,508, entitled WIDE AREA POSITIONING SYSTEM, filed Mar. 5, 2012; United States Utility patent application Ser. No. 13/296,067, entitled WIDE AREA POSITIONING SYSTEMS, filed Nov. 14, 2011; Application Serial No. PCT/US12/44452, entitled WIDE AREA POSITIONING SYSTEMS (WAPS), filed Jun. 28, 2011); U.S. patent application Ser. No. 13/535,626, entitled CODING IN WIDE AREA POSITIONING SYSTEMS (WAPS), filed Jun. 28, 2012; U.S. patent application Ser. No. 13/565,732, entitled CELL ORGANIZATION AND TRANSMISSION SCHEMES IN A WIDE AREA POSITIONING SYSTEM (WAPS), filed Aug. 2, 2012; U.S. patent application Ser. No. 13/565,723, entitled CELL ORGANIZATION AND TRANSMISSION SCHEMES IN A WIDE AREA POSITIONING SYSTEM (WAPS), filed Aug. 2, 2012; U.S. patent application Ser. No. 13/831,740, entitled SYSTEMS AND METHODS CONFIGURED TO ESTIMATE RECEIVER POSITION USING TIMING DATA ASSOCIATED WITH REFERENCE LOCATIONS IN THREE-DIMENSIONAL SPACE, filed Mar. 14, 2013. The above applications, publications and patents may be individually or collectively referred to herein as “incorporated reference(s)”, “incorporated application(s)”, “incorporated publication(s)”, “incorporated patent(s)” or otherwise designated. The various aspect, details, devices, systems, and methods disclosed herein may be combined with disclosures in any of the incorporated references in accordance with various embodiments.

This disclosure relates generally to positioning systems and methods for providing signaling for position determination and determining high accuracy position/location information using a wide area transmitter array of transmitters in communication with receivers such as in cellular phones or other portable devices with processing components, transceiving capabilities, storage, input/output capabilities, and other features.

Positioning signaling services associated with certain aspects may utilize broadcast-only transmitters that may be configured to transmit encrypted positioning signals. The transmitters (which may also be denoted herein as “towers” or “beacons”) may be configured to operate in an exclusively licensed or shared licensed/unlicensed radio spectrum; however, some embodiments may be implemented to provide signaling in unlicensed shared spectrum. The transmitters may transmit signaling in these various radio bands using novel signaling as is described herein or in the incorporated references. This signaling may be in the form of a proprietary signal configured to provide specific data in a defined format advantageous for location and navigation purposes. For example, the signaling may be structured to be particularly advantageous for operation in obstructed environments, such as where traditional satellite position signaling is attenuated and/or impacted by reflections, multipath, and the like. In addition, the signaling may be configured to provide fast acquisition and position determination times to allow for quick location determination upon device power-on or location activation, reduced power consumption, and/or to provide other advantages.

The receivers may be in the form of one or more user devices, which may be any of a variety of electronic communication devices configured to receive signaling from the transmitters, as well as optionally be configured to receive GPS or other satellite system signaling, cellular signaling, Wi-Fi signaling, Wi-Max signaling, Bluetooth, Ethernet, and/or other data or information signaling as is known or developed in the art. The receivers may be in the form of a cellular or smart phone, a tablet device, a PDA, a notebook or other computer system, and/or similar or equivalent devices. In some embodiments, the receivers may be a standalone location/positioning device configured solely or primarily to receive signals from the transmitters and determine location/position based at least in part on the received signals. As described herein, receivers may also be denoted herein as “User Equipment” (UE), handsets, smart phones, tablets, and/or simply as a “receiver.”

The transmitters may be configured to send transmitter output signals to multiple receiver units (e.g., a single receiver unit is shown in certain figures for simplicity; however, a typical system will be configured to support many receiver units within a defined coverage area) via communication links). The transmitters may also be connected to a server system via communication links, and/or may have other communication connections to network infrastructure, such as via wired connections, cellular data connections, Wi-Fi, Wi-Max, or other wireless connections, and the like.

Various embodiments of a wide area positioning system (WAPS), described herein or in the incorporated references, may be combined with other positioning systems to provide enhanced location and position determination. Alternately, or in addition, a WAPS system may be used to aid other positioning systems. In addition, information determined by receivers of WAPS systems may be provided via other communication network links, such as cellular, Wi-Fi, pager, and the like, to report position and location information to a server system or systems, as well as to other networked systems existing on or coupled to network infrastructure.

For example, in a cellular network, a cellular backhaul link may be used to provide information from receivers to associated cellular carriers and/or others via network infrastructure. This may be used to quickly and accurately locate the position of receiver during an emergency, or may be used to provide location-based services or other functions from cellular carriers or other network users or systems.

It is noted that, in the context of this disclosure, a positioning system is one that localizes one or more of latitude, longitude, and altitude coordinates, which may also be described or illustrated in terms of one, two, or three dimensional coordinate systems (e.g., x, y, z coordinates, angular coordinates, vectors, and other notations). In addition, it is noted that whenever the term ‘GPS’ is referred to, it is done so in the broader sense of Global Navigation Satellite Systems (GNSS) which may include other satellite positioning systems such as GLONASS, Galileo and Compass/Beidou. In addition, as noted previously, in some embodiments other positioning systems, such as terrestrially based systems, may be used in addition to or in place of satellite-based positioning systems.

Embodiments of WAPS include multiple transmitters configured to broadcast WAPS data positioning information, and/or other data or information, in transmitter output signals to the receivers. The positioning signals may be coordinated so as to be synchronized across all transmitters of a particular system or regional coverage area, and may use a disciplined GPS clock source for timing synchronization. WAPS data positioning transmissions may include dedicated communication channel resources (e.g., time, code and/or frequency) to facilitate transmission of data required for trilateration, notification to subscriber/group of subscribers, broadcast of messages, and/or general operation of the WAPS system. Additional disclosure regarding WAPS data positioning transmissions may be found in the incorporated references.

In a positioning system that uses time difference of arrival or trilateration, the positioning information typically transmitted includes one or more of precision timing sequences and positioning signal data, where the positioning signal data includes the location of transmitters and various timing corrections and other related data or information. In one WAPS embodiment, the data may include additional messages or information such as notification/access control messages for a group of subscribers, general broadcast messages, and/or other data or information related to system operation, users, interfaces with other networks, and other system functions. The positioning signal data may be provided in a number of ways. For example, the positioning signal data may be modulated onto a coded timing sequence, added or overlaid over the timing sequence, and/or concatenated with the timing sequence.

Data transmission methods and apparatus described herein may be used to provide improved location information throughput for the WAPS. In particular, higher order modulation data may be transmitted as a separate portion of information from pseudo-noise (PN) ranging data. This may be used to allow improved acquisition speed in systems employing CDMA multiplexing, TDMA multiplexing, or a combination of CDMA/TDMA multiplexing. The disclosure herein is illustrated in terms of WAPS in which multiple towers broadcast synchronized positioning signals to UEs and, more particularly, using towers that are terrestrial. However, the embodiments are not so limited, and other systems within the spirit and scope of the disclosure may also be implemented.

In an exemplary embodiment, a WAPS system uses coded modulation sent from a tower or transmitter, such as transmitter, called spread spectrum modulation or pseudo-noise (PN) modulation, to achieve wide bandwidth. The corresponding receiver unit, such as receiver, includes one or more modules to process such signals using a despreading circuit, such as a matched filter or a series of correlators. Such a receiver produces a waveform which, ideally, has a strong peak surrounded by lower level energy. The time of arrival of the peak represents the time of arrival of the transmitted signal at the receiver. Performing this operation on a multiplicity of signals from a multiplicity of towers, whose locations are accurately known, allows determination of the receivers location via trilateration. Various additional details related to WAPS signal generation in a transmitter, along with received signal processing in a receiver are described herein or in the incorporated references.

Transmitters may include various blocks for performing associated signal reception and/or processing. For example, a transmitter may include one or more GPS modules for receiving GPS signals and providing location information and/or other data, such as timing data, dilution of precision (DOP) data, or other data or information as may be provided from a GPS or other positioning system, to a processing module. Other modules for receiving satellite or terrestrial signals and providing similar or equivalent output signals, data, or other information may alternately be used in various embodiments. GPS or other timing signals may be used for precision timing operations within transmitters and/or for timing correction across the WAPS system.

Transmitters may also include one or more transmitter modules (e.g., RF transmission blocks) for generating and sending transmitter output signals as described subsequently herein. A transmitter module may also include various elements as are known or developed in the art for providing output signals to a transmit antenna, such as analog or digital logic and power circuitry, signal processing circuitry, tuning circuitry, buffer and power amplifiers, and the like. Signal processing for generating the output signals may be done in the a processing module which, in some embodiments, may be integrated with another module or, in other embodiments, may be a standalone processing module for performing multiple signal processing and/or other operational functions.

One or more memories may be coupled with a processing module to provide storage and retrieval of data and/or to provide storage and retrieval of instructions for execution in the processing module. For example, the instructions may be instructions for performing the various processing methods and functions described subsequently herein, such as for determining location information or other information associated with the transmitter, such as local environmental conditions, as well as to generate transmitter output signals to be sent to the user devices.

Transmitters may further include one or more environmental sensing modules for sensing or determining conditions associated with the transmitter, such as, for example, local pressure, temperature, or other conditions. In an exemplary embodiment, pressure information may be generated in the environmental sensing module and provided to a processing module for integration with other data in transmitter output signals as described subsequently herein. One or more server interface modules may also be included in a transmitter to provide an interface between the transmitter and server systems, and/or to a network infrastructure.

Receivers may include one or more GPS modules for receiving GPS signals and providing location information and/or other data, such as timing data, dilution of precision (DOP) data, or other data or information as may be provided from a GPS or other positioning system, to a processing module (not shown). Of course, other Global Navigation Satellite Systems (GNSS) are contemplated, and it is to be understood that disclosure relating to GPS may apply to these other systems. Of course, any location processor may be adapted to receive and process position information described herein or in the incorporated references.

Receivers may also include one or more cellular modules for sending and receiving data or information via a cellular or other data communications system. Alternately, or in addition, receivers may include communications modules for sending and/or receiving data via other wired or wireless communications networks, such as Wi-Fi, Wi-Max, Bluetooth, USB, or other networks.

Receivers may include one or more position/location modules for receiving signals from terrestrial transmitters, and processing the signals to determine position/location information as described subsequently herein. A position module may be integrated with and/or may share resources such as antennas, RF circuitry, and the like with other modules. For example, a position module and a GPS module may share some or all radio front end (RFE) components and/or processing elements. A processing module may be integrated with and/or share resources with the position module and/or GPS module to determine position/location information and/or perform other processing functions as described herein. Similarly, a cellular module may share RF and/or processing functionality with an RF module and/or processing module. A local area network (LAN) module may also be included.

One or more memories may be coupled with processing module and other modules to provide storage and retrieval of data and/or to provide storage and retrieval of instructions for execution in the processing module. For example, the instructions may perform the various processing methods and functions described herein or in the incorporated references.

Receivers may further include one or more environmental sensing modules (e.g., inertial, atmospheric and other sensors) for sensing or determining conditions associated with the receiver, such as, for example, local pressure, temperature, movement, or other conditions, that may be used to determine the location of the receiver. In an exemplary embodiment, pressure information may be generated in such an environmental sensing module for use in determining location/position information in conjunction with received transmitter, GPS, cellular, or other signals.

Receivers may further include various additional user interface modules, such as a user input module which may be in the form of a keypad, touchscreen display, mouse, or other user interface element. Audio and/or video data or information may be provided on an output module (not shown), such as in the form or one or more speakers or other audio transducers, one or more visual displays, such as touchscreens, and/or other user I/O elements as are known or developed in the art. In an exemplary embodiment, such an output module may be used to visually display determined location/position information based on received transmitter signals, and the determined location/position information may also be sent to a cellular module to an associated carrier or other entity.

The receiver may include a signal processing block that comprises a digital processing block configured to demodulate the received RF signal from the RF module, and also to estimate time of arrival (TOA) for later use in determining location. The signal processing block may further include a pseudorange generation block and a data processing block. The pseudorange generation block may be configured to generate “raw’ positioning pseudorange data from the estimated TOA, refine the pseudorange data, and to provide that pseudorange data to the position engine, which uses the pseudorange data to determine the location of the receiver. The data processing block may be configured to decode the position information, extract packet data from the position information and perform error correction (e.g., CRC) on the data. A position engine of a receiver may be configured to process the position information (and, in some cases, GPS data, cell data, and/or LAN data) in order to determine the location of the receiver within certain bounds (e.g., accuracy levels, etc.). Once determined, location information may be provided to applications. One of skill in the art will appreciate that the position engine may signify any processor capable of determining location information, including a GPS position engine or other position engine.

Variations of Implementation

The various components, modules, and functions described herein can be located together or in separate locations. Communication paths couple the components and include any medium for communicating or transferring files among the components. The communication paths include wireless connections, wired connections, and hybrid wireless/wired connections. The communication paths also include couplings or connections to networks including local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), proprietary networks, interoffice or backend networks, and the Internet. Furthermore, the communication paths include removable fixed mediums like floppy disks, hard disk drives, and CD-ROM disks, as well as flash RAM, Universal Serial Bus (USB) connections, RS-232 connections, telephone lines, buses, and electronic mail messages.

Aspects of the systems and methods described herein may be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits (ASICs). Some other possibilities for implementing aspects of the systems and methods include: microcontrollers with memory (such as electronically erasable programmable read only memory (EEPROM)), embedded microprocessors, firmware, software, etc. Furthermore, aspects of the systems and methods may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types. The underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (MOSFET) technologies like complementary metal-oxide semiconductor (CMOS), bipolar technologies like emitter-coupled logic (ECL), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, etc.

It should be noted that any system, method, and/or other components disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof. Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, HTTPs, FTP, SMTP, WAP, etc.). When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described components may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs.

Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in a sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words “herein,” “hereunder,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. When the word “or” is used in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list.

The above description of embodiments of the systems and methods is not intended to be exhaustive or to limit the systems and methods to the precise forms disclosed. While specific embodiments of, and examples for, the systems and methods are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the systems and methods, as those skilled in the relevant art will recognize. The teachings of the systems and methods provided herein can be applied to other systems and methods, not only for the systems and methods described above. The elements and acts of the various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the systems and methods in light of the above detailed description.

One of skill in the art will appreciate that the processes shown in the Drawings and described herein are illustrative, and that there is no intention to limit this disclosure to the order of stages shown. Accordingly, stages may be removed and rearranged, and additional stages that are not illustrated may be carried out within the scope and spirit of the invention.

In one or more exemplary embodiments, the functions, methods and processes described may be implemented in whole or in part in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a computer.

By way of example, and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

Those of skill in the art would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.

The various illustrative logical blocks, modules, processes, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

The steps or stages of a method, process or algorithm in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

The claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. A phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a; b; c; a and b; a and c; b and c; and a, b and c.

The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the appended claims and their equivalents.

As used herein, computer program products comprising computer-readable media including all forms of computer-readable medium except, to the extent that such media is deemed to be non-statutory, transitory propagating signals.

While various embodiments of the present invention have been described in detail, it may be apparent to those skilled in the art that the present invention can be embodied in various other forms not specifically described herein. Therefore, the protection afforded the present invention should only be limited in accordance with the following claims. 

1. A method for estimating error associated with one or more range measurements, the method comprising: determining a first set of range measurements using a first set of ranging signals received at a first position in a transmitter network; determining one or more range error adjustments that are associated with a second set of range measurements from a second set of signals received at a second position in the transmitter network; and estimating the first position using the first set of range measurements and the one or more range error adjustments that are associated with the second set of range measurements.
 2. The method of claim 1, wherein the one or more range error adjustments that are associated with the second set of range measurements are identified by: determining a first estimated position using the first set of range measurements; identifying a second estimated position, from among stored estimated positions, that is closest to the first estimate position, wherein the second estimated position is based on the second set of range measurements; and identifying the one or more range error adjustments after identifying the second estimated position.
 3. The method of claim 1, wherein the one or more range error adjustments that are associated with correspond to the second set of range measurements are identified by: identifying the second set of range measurements, from among stored sets of range measurements, based on a matching criterion; and identifying the one or more range error adjustments after identifying the second set of range measurements based on the matching criterion.
 4. The method of claim 3, the method comprising: determining a first number of range measurements in the first set of range measurements that are within a threshold amount of distance from corresponding range measurements in the second set of range measurements; determining a second number of range measurements in the first set of range measurements that are within the threshold amount of distance from corresponding range measurements in another stored set of range measurements, wherein the second set of range measurements is selected over the other stored set of range measurements when the first number is greater than the second number.
 5. The method of claim 1, wherein the one or more range error adjustments that are associated with correspond to the second set of range measurements are identified by: selecting the second set of range measurements, from among stored sets of range measurements, when each of a first subset of n range measurements from the first set of range measurements and each of a second subset of n range measurements from the second set of range measurements are within a threshold amount of distance from each other; identifying a first range measurement in the first set of range measurements and a corresponding second range measurement in the second set of range measurements that are not within the threshold amount of distance from each other; and determining a first range error adjustment based on a relationship between the first range measurement and the second range measurement, wherein the one or more range error adjustments includes the first range error adjustment.
 6. The method of claim 5, wherein the first range error adjustment is determined based on (i) a measure of a difference between the first range measurement and the second range measurement, and (ii) measures of differences between each range measurement in the first subset of n range measurements and each corresponding range measurement in the second subset of n range measurements.
 7. The method of claim 5, wherein the first range error adjustment is determined based on a measure of a difference between (i) a mean of differences between each range measurement in the first subset of n range measurements and each corresponding range measurement in the second subset of n range measurements from (ii) a difference between the first range measurement and the second range measurement.
 8. The method of claim 5, wherein the first range error adjustment is determined by: determining whether the first range measurement is greater than or less than the second range measurement; and upon determining that the first range measurement is greater than the second range measurement, estimating the first position using the range measurements in the first subset of n range measurements, but without using the first range measurement.
 9. The method of claim 5, wherein the first range error adjustment is determined by: determining whether the first range measurement is greater than or less than the second range measurement, wherein based on determining that the first range measurement is less than the second range measurement, the first range error adjustment is set to zero.
 10. The method of claim 5, wherein the first subset of n range measurements includes a majority of the range measurements in the first set of range measurements.
 11. The method of claim 1, wherein the one or more range error adjustments include one or more range biases that correspond to the second set of range measurements.
 12. The method of claim 1, wherein the second and first positions correspond to positions of a receiver at different times, and wherein the method comprises: estimating a velocity of the receiver between the second position and the first position; and determining, based on the estimated velocity, whether a first range measurement from the first set of range measurements is more or less accurate a second range measurement from the second set of range measurements.
 13. The method of claim 12, wherein the second range measurement is determined to be less accurate than the first range measurement when a measure of a difference between the first range measurement and the second range measurement is less than a measure of a distance that is based on the estimated velocity, and wherein the first range measurement is determined to be less accurate than the second range measurement when a measure of a difference between the first range measurement and the second range measurement is greater than the measure of the distance that is based on the estimated velocity.
 14. The method of claim 12, wherein the second range measurement is stored, the method comprising: storing the first range measurement in another set of stored range measurements; after determining that the second range measurement is less accurate than the first range measurement, replacing the stored second range measurement with a value corresponding to the first range measurement adjusted by a measure of a distance that is based on the estimated velocity; and after determining that the first range measurement is less accurate than the second range measurement, replacing the stored first range measurement with a value corresponding to the second range measurement adjusted by the measure of the distance that is based on the estimated velocity.
 15. A system comprising one or more processors that perform the method of claim
 1. 16. A non-transitory machine-readable medium embodying program instructions adapted to be executed to implement the method of claim
 1. 